function [ y ] = interpolate(x)
% INTERPOLATE Linearly interpolates gaps in a time series
% y=interpolate(x) linearly interpolates over NaN
% in the input time series (may be complex), but ignores
% trailing and leading NaN.

% R. Pawlowicz 6/Nov/99

y=x;

bd=isnan(x);
gd=find(~bd);

bd([1:(min(gd)-1) (max(gd)+1):end])=0;


y(bd)=interp1(gd,x(gd),find(bd));

end

